The present invention relates to methods for programming non-volatile memory devices.
Non-volatile semiconductor memory is a fundamental building block for a typical computer system. One type of non-volatile semiconductor memory device is the multi-level electrically-erasable programmable read-only memory (xe2x80x9cmulti-level EEPROMxe2x80x9d).
Some memory cells store a signal representing one bit of information. Such memory cells may be placed in either of two states, each representing one of the binary elements xe2x80x9c1xe2x80x9d or xe2x80x9c0.xe2x80x9d
In contrast, multi-level cells can store signals representing more than one bit and may be placed into any one of more than two states. Each state corresponds to a pattern of bits and the different states of the cell are distinguished by unique voltage threshold levels.
xe2x80x9cProgrammingxe2x80x9d means placing the multi-level memory cell into one of the multi-level memory cell""s possible states. Programming may be accomplished by pulsing the multi-level memory cell with a pulse of predetermined voltage and duration. A device that supplies the pulsed power is called a xe2x80x9cprogram pump,xe2x80x9d and the number of cells that can be a programmed at one time is referred to as xe2x80x9cprogramming bandwidth.xe2x80x9d